// 定义目标对象(切点) 
// 切面(前/后/异常)
// 通知before after error

public class AOP {
    
}


// @Aspect
// @Component
// public class LogAspect {
    
//     @Pointcut("execution(* com.example.service.*.*(..))")
//     public void serviceMethod() {}
    
//     @Before("serviceMethod()")
//     public void before(JoinPoint joinPoint) {
//         // 获取方法名和参数
//         String methodName = joinPoint.getSignature().getName();
//         Object[] args = joinPoint.getArgs();
//         System.out.println("[日志前置] 调用方法: " + methodName + ", 参数: " + Arrays.toString(args));
//     }
    
//     @AfterReturning(value = "serviceMethod()", returning = "result")
//     public void afterReturning(Object result) {
//         System.out.println("[日志后置] 方法执行完成，返回值: " + result);
//     }
// }



// 完整示例